package com.ohs.ohsoa.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ohs.ohsoa.system.dto.RoleRouterDto;
import com.ohs.ohsoa.system.dto.RouterDto;
import com.ohs.ohsoa.system.entity.RoleRouter;
import com.ohs.ohsoa.system.entity.Router;
import com.ohs.ohsoa.system.vo.RouterVo;
import com.ohs.ohsoa.utils.bean.requestBean.PageParam;

import java.util.List;


/**
 * 页面service
 *
 * @author ss
 *
 */
public interface RouterService extends IService<Router> {


    /**获取页面列表信息
     *
     * @param pageParam 页面列表信息
     * @return 页面列表信息
     */
    List<Router> routerSelectList(PageParam<Router> pageParam);

    /**根据id获取页面详细信息
     *
     * @param router id
     * @return 页面详细信息
     */
    Router routerSelect(Router router);

    /**新增页面
     *
     * @param router 页面信息
     * @return 新增结果
     */
    Boolean routerInsert(Router router);

    /**
     *
     * @param routerDto 页面信息
     * @return 删除结果
     */
    Boolean routeDelete(RouterDto routerDto);

    /**
     *
     * @param router 页面信息
     * @return 修改结果
     */
    Boolean routerUpdate(Router router);

    /**页面与职务之间的关联
     *
     * @param roleRouter 页面信息
     * @return 页面与职务之间的关联
     */
    List<RoleRouter> RoleRouterList(RoleRouter roleRouter);

    /**修改 页面与职务之间的关联
     *
     * @param roleRouterDto 页面信息
     * @return 修改结果
     */
    Boolean RoleRouterUpdate(RoleRouterDto roleRouterDto);

    /**获取页面列表信息
     *
     * @param groupEnterpriseGuid 页面列表信息
     * @return 页面列表信息
     */
    List<RouterVo> routerAllList(String groupEnterpriseGuid);

    /**获取父级页面列表信息
     *
     * @param groupEnterpriseGuid 父级id
     * @return 父级页面列表信息
     */
    List<Router> parentRouterList(String groupEnterpriseGuid);

    /**
     *
     * @param routerGuid 页面id
     * @return 子页面信息
     */
    List<Router> childrenRouterList(String routerGuid);
}
